/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControladoresUI;

import Entidades.Carrera;
import Entidades.Ciclo;
import Entidades.Tipocurso;
import Entidades.Usuario;
import Ingresos.IAsignacionCicloCarrera;
import Ingresos.ICarrera;
import Ingresos.ICiclo;
import Ingresos.ICurso;
import Ingresos.ITipoCurso;
import ManagersUI.CursosRegistroManager;
import javafx.event.*;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import ManagersUI.UsuariosInicioManager;
import ManagersUI.UsuariosRegistroManager;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
 * FXML Controller class
 *

 */
public class CursosRegistroController{

    /**
     * Initializes the controller class.
     */
    CursosRegistroManager cursosRegistroManager;
    @FXML private TextField txtCurso;
    @FXML private TextField txtCreditosPracticos;
     @FXML private TextField txtCreditosTeoricos;
    @FXML private TextField txtPeriodos;
    @FXML private TextArea txtObservaciones;
    @FXML private ComboBox cmbTipoCurso;
  
    @FXML private CheckBox checkExtraordinario;
    @FXML private ComboBox cmbCiclo;
    @FXML private ComboBox cmbCarrera;

    
    public void initialize() {}
  
    public void initManager(final CursosRegistroManager cursosRegistroManager) {
        this.cursosRegistroManager = cursosRegistroManager;
        cargarEdificio();
        cargarCiclo();
         cargarCarrera();
    }
    public void cargarEdificio(){
        this.cmbTipoCurso.setPromptText("Tipo Curso");
        ITipoCurso manejo = new ITipoCurso();
        this.cmbTipoCurso.getItems().clear();
        this.cmbTipoCurso.getItems().addAll(manejo.mostraTodo());
        this.cmbTipoCurso.setValue(this.cmbTipoCurso.getItems().get(0));
    }
    public void cargarCarrera(){
        this.cmbCarrera.setPromptText("Carrera");
        ICarrera manejo = new ICarrera();
        this.cmbCarrera.getItems().clear();
        this.cmbCarrera.getItems().addAll(manejo.mostrarTodoFalse());
        this.cmbCarrera.setValue(this.cmbCarrera.getItems().get(0));
    }
    public void cargarCiclo(){
        this.cmbCiclo.setPromptText("Ciclo");
        ICiclo manejo = new ICiclo();
        this.cmbCiclo.getItems().clear();
        this.cmbCiclo.getItems().addAll(manejo.mostrarTodoFalse());
        this.cmbCiclo.setValue(this.cmbCiclo.getItems().get(0));
    }
    @FXML
    private void registrarCurso(ActionEvent event){
      try {
            ICurso nuevo = new ICurso();
            IAsignacionCicloCarrera ciclocarrera = new IAsignacionCicloCarrera();            
            nuevo.guardar(txtCurso.getText(),Short.parseShort(txtCreditosTeoricos.getText()),Short.parseShort(txtCreditosPracticos.getText()),Short.parseShort(txtPeriodos.getText()), checkExtraordinario.isSelected(),txtObservaciones.getText(),(Tipocurso)cmbTipoCurso.getValue(),ciclocarrera.obtenerCicloCarrera((Carrera) this.cmbCarrera.getValue(), (Ciclo) this.cmbCiclo.getValue()));
            JOptionPane.showMessageDialog( null, "Ingresado exitosamente","Mensaje", JOptionPane.INFORMATION_MESSAGE );
             cursosRegistroManager.showPnlCursoInicio(null);
        } catch (Exception ex) {
            Logger.getLogger(CatedraticoRegistroController.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    @FXML
    private void regresarInicio(ActionEvent event){
        cursosRegistroManager.showPnlCursoInicio(null);
    }
}
